home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / JFC.bin / beaninfo.jar / src / JTextFieldBeanInfo.java < prev    next >
Text File  |  1998-06-30  |  6KB  |  176 lines

  1. /*
  2.  * JTextFieldBeanInfoSwingBeanInfo.template    1.4 98/04/13
  3.  * 
  4.  * Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
  5.  * 
  6.  * This software is the confidential and proprietary information of Sun
  7.  * Microsystems, Inc. ("Confidential Information").  You shall not
  8.  * disclose such Confidential Information and shall use it only in
  9.  * accordance with the terms of the license agreement you entered into
  10.  * with Sun.
  11.  * 
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
  13.  * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  14.  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  15.  * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
  16.  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
  17.  * THIS SOFTWARE OR ITS DERIVATIVES.
  18.  * 
  19.  */
  20.  
  21. package com.sun.java.swing;
  22.  
  23. import com.sun.java.swing.beaninfo.SwingBeanInfo;
  24.  
  25. import java.beans.BeanDescriptor;
  26. import java.beans.PropertyDescriptor;
  27. import java.awt.Image;
  28.  
  29.  
  30. /**
  31.  * Descriptive information about the JTextField class for Java 
  32.  * Beans application builders.  This BeanInfo class provides descriptions
  33.  * of each property, of the bean itself, it indicates which
  34.  * JTextField properties are bound, and it provides other
  35.  * information and icons useful to builders.
  36.  * 
  37.  * @version 1.4 04/13/98
  38.  * @author <your name here>
  39.  */
  40.  
  41. public class JTextFieldBeanInfo extends SwingBeanInfo 
  42. {
  43.     private static final Class classJTextField = com.sun.java.swing.JTextField.class;
  44.  
  45.     /**
  46.      * @return a JTextField BeanDescriptor
  47.      */
  48.     public BeanDescriptor getBeanDescriptor() {
  49.     return createBeanDescriptor(classJTextField, new Object[] {
  50.                 PREFERRED, Boolean.TRUE,
  51.                               "isContainer",Boolean.FALSE,
  52.      
  53.                     SHORTDESCRIPTION, "<A description of this component>."
  54.         }                
  55.         );                                   
  56.     }
  57.  
  58.  
  59.     /**
  60.      * Create a JTextField PropertyDescriptor.  This is just an internal
  61.      * convenience method that allows one to leave the JTextField.class
  62.      * argument out of the createPropertyDescriptor() class in the 
  63.      * getPropertyDescriptors() method below.
  64.      * 
  65.      * @param name the name of the property
  66.      * @param args an array java.beans.PropertyDescriptor property names and values
  67.      * @return a JTextField PropertyDescriptor.
  68.      * @see SwingBeanInfo#createPropertyDescriptor
  69.      */
  70.     private PropertyDescriptor createPropertyDescriptor(String name, Object[] args) {
  71.     return super.createPropertyDescriptor(classJTextField, name, args);
  72.     }
  73.  
  74.  
  75.     /**
  76.      * This method returns a list of bean PropertyDescriptors, one for each public
  77.      * property in JTextField.  The first property is the "default" property.
  78.      *
  79.      * @return a complete list of bean PropertyDescriptors for JTextField
  80.      * @see SwingBeanInfo
  81.      * @see java.beans.BeanInfo#getDefaultPropertyIndex
  82.      */
  83.     public PropertyDescriptor[] getPropertyDescriptors() 
  84.     {
  85.          
  86.         Object[] horizontalAlignmentEnumeration = new Object[] { 
  87.             "LEFT" ,   new Integer(JTextField.LEFT) , "JTextField.LEFT",
  88.             "CENTER" ,   new Integer(JTextField.CENTER) , "JTextField.CENTER",
  89.             "RIGHT" ,   new Integer(JTextField.RIGHT) , "JTextField.RIGHT"  
  90.         };
  91.  
  92.     return new PropertyDescriptor[] {
  93.             
  94.              createPropertyDescriptor("horizontalVisibility", new Object[] {
  95.                  SHORTDESCRIPTION, "horizontalVisibility",
  96.                }
  97.              ),
  98.              
  99.              createPropertyDescriptor("UIClassID", new Object[] {
  100.                  SHORTDESCRIPTION, "UIClassID",
  101.                }
  102.              ),
  103.              
  104.              createPropertyDescriptor("scrollOffset", new Object[] {
  105.                  SHORTDESCRIPTION, "scrollOffset",
  106.                }
  107.              ),
  108.              
  109.              createPropertyDescriptor("accessibleContext", new Object[] {
  110.                  SHORTDESCRIPTION, "accessibleContext",
  111.                }
  112.              ),
  113.              
  114.              createPropertyDescriptor("preferredSize", new Object[] {
  115.                  SHORTDESCRIPTION, "preferredSize",
  116.                }
  117.              ),
  118.              
  119.              createPropertyDescriptor("columns", new Object[] {
  120.                  SHORTDESCRIPTION, "the number of columns preferred for display",
  121.                }
  122.              ),
  123.              
  124.              createPropertyDescriptor("validateRoot", new Object[] {
  125.                  SHORTDESCRIPTION, "validateRoot",
  126.                }
  127.              ),
  128.              
  129.              createPropertyDescriptor("minimumSize", new Object[] {
  130.                  SHORTDESCRIPTION, "minimumSize",
  131.                }
  132.              ),
  133.              
  134.              createPropertyDescriptor("actions", new Object[] {
  135.                  SHORTDESCRIPTION, "actions",
  136.                }
  137.              ),
  138.              
  139.              createPropertyDescriptor("horizontalAlignment", new Object[] {
  140.                             BOUND, Boolean.TRUE,
  141.                       "enumerationValues", horizontalAlignmentEnumeration ,
  142.                         PREFERRED, Boolean.TRUE,
  143.                  SHORTDESCRIPTION, "Set the field alignment to LEFT (the default), CENTER, RIGHT ",
  144.                }
  145.              ),
  146.              
  147.     };
  148.     }
  149.  
  150.  
  151.     /**
  152.      * @return an icon of the specified kind for JTextField
  153.      */
  154.     public Image getIcon(int kind) {
  155.     Image i;
  156.     switch (kind){
  157.       case ICON_COLOR_32x32:
  158.               i = loadImage("beaninfo/images/JTextFieldColor32.gif");
  159.           return ((i == null) ? loadImage("beaninfo/images/JComponentColor32.gif") : i);
  160.       case ICON_COLOR_16x16:
  161.           i = loadImage("beaninfo/images/JTextFieldColor16.gif");
  162.           return ((i == null) ? loadImage("beaninfo/images/JComponentColor16.gif") : i);
  163.       case ICON_MONO_32x32:
  164.           i = loadImage("beaninfo/images/JTextFieldMono32.gif");
  165.           return ((i == null) ? loadImage("beaninfo/images/JComponentMono32.gif") : i);          
  166.       case ICON_MONO_16x16:
  167.           i = loadImage("beaninfo/images/JTextFieldMono16.gif");
  168.           return ((i == null) ? loadImage("beaninfo/images/JComponentMono16.gif") : i);          
  169.       default:
  170.         return super.getIcon(kind);
  171.     }
  172.     }
  173. }
  174.  
  175.  
  176.